1. Field of the Invention
The present invention relates to a robot control method, and more particularly, it relates to a robot control method with improved interpolation control.
2. Description of the Prior Art
In a case where a robot is controlled by, e.g., a playback system, a control unit only stores information on discrete teaching points or reference points and hence it is required to perform control by interpolating information on, e.g., positions of the teaching points.
In order to perform such a interpolation, provided in the art are well-known linear interpolation and circular interpolation methods. These interpolation methods are characterized in that the arithmetic is relatively simple, whereas generally smoothness cannot be obtained with respect to loci other than those adapted to the respective interpolation methods (e.g., a straight line or a curve having a large radius of curvature).
The inventors have already proposed a technique of applying geometrical design argorithm algorithm proposed by Prof. Mamoru Hosaka et al. of Tokyo University to interpolation control of a robot. Such a technique is disclosed in, e.g., Japanese patent laying-open gazette No. 52408/1981, and Hosaka's algorithm itself is disclosed in "Information Processing" Vol. 17, No. 12, pages 1120 to 1127, December 1976, published by Ohm-sha Ltd., Tokyo, Japan. This technique is hereafter described within the scope required for the following description of the present invention.
The interpolation by Hosaka's algorithm (hereinafter referred to as "Hosaka's interpolation") is based on a technical idea of taking an interpolation curve as a set of subcurves (called "curved line segments") corresponding in number to teaching points or reference points and performing specific averaging operation on adjacent ones of the curved line segments, thereby to obtain a smooth interpolation curve. In this method, linear interpolation is made between adjacent position vectors R.sub.i and R.sub.i+1 of position vectors R.sub.i (i=1, 2, . . . m) of the reference points thereby to obtain a first stage interpolation curve C.sub.1, as shown in FIG. 1. In this interpolation curve (polygonal line) C.sub.1, the curved line segment connecting R.sub.i and R.sub.i+1 is parameter-indicated as D.sub.i,1 (u) by a parameter u (0.ltoreq.u.ltoreq.1). The subscript i in symbol D.sub.i,1 (u) is indicative of the i-th order curved line segment (also called as "connector element"), and the other subscript 1 is indicative of that the curved line segment is obtained by the first stage interpolation (similar conditions are applied to other symbols). After the first stage interpolation curve is thus defined, repeatedly employed is the following recurrence formula: ##EQU1## whereby an n-th stage curved line segment D.sub.i,n (u) is found to obtain a desired n-th stage interpolation curve C.sub.n as a set of D.sub.i,n (u). In the expression (1), the symbol .omega.(.tau.) indicates a weight function.
The meaning of the expression (1) may be more clearly understood with reference to FIG. 2. Namely, within i-th order and (i+1)-th order connector elements D.sub.i,k-1 (u) and D.sub.i+1,k-1 (u) belonging to a (k-1)-th stage interpolation curve C.sub.k-1 as shown in FIG. 2, portions L.sub.i and L.sub.i+1 positioned between points D.sub.i,k-1 (u) and D.sub.i-1,k-1 (u) which correspond to a specific parameter u (e.g., u.sub.1) and a boundary point R.sup.k-1 thereof are fetched or retrieved in the first place. Then a weighted mean operation is performed on positions of respective points on the portions L.sub.i and L.sub.i+1 by employing the weight function .omega.(.tau.). The pseudo-center of mass thus obtained is set as a point D.sub.i,k (u) in a curved line segment D.sub.i,k (u.sub.1) in a k-th stage. Such an operation is performed on respective values of the parameter u, thereby to obtain the entire values of D.sub.i,k (u).
FIG. 3 illustrates the respective curved line segments in the respective stages obtained from the connector elements by arrows, in which symbol (i,n) indicates D.sub.i,n (u), and a similar condition is applied to other symbols. In FIG. 3, for example, an arrow AR indicates that D.sub.i,n (u) is obtained from D.sub.i,n-1 (u) and D.sub.i+1,n-1 (u). As obvious from FIG. 3, D.sub.i,n (u) is ultimately obtained from R.sub.i+j (j=0, 1 . . . n), and since the expression (1) is a linear recurrence formula, D.sub.i,n (u) can be expressed as linear combination of R.sub.i+j (j=0, 1 . . . , n) as follows: ##EQU2## The coefficient f.sub.j,n (u) can be expressed as a polynomial of u by practically calculating the expression (1), whereas detailed description is herein omitted.
An important point of the expression (2) is that respective curved line segments in the n-th stage are formed by retrieving information on continuous (n+1) teaching points R.sub.i+j (j=0, 1, 2, . . . , n) Therefore, in a case where, e.g., an interpolation curve C.sub.3 obtained in the third stage is employed as the interpolation curve in an actual control operation, interpolation is performed while retrieving position information on four sequential reference points.
Thus, Hosaka's interpolation is provided in consideration of global geometric properties in the chain of teaching points, thereby to obtain a more smooth interpolation curve in comparison with linear interpolation and circular interpolation.
However, Hosaka's interpolation has several disadvantages, such as that the obtained interpolation curve does not pass reference points in general. Therefore, computational teaching point (called "reference point") P.sub.i is defined by the following expression (4), so that the interpolation curve to be obtained passes all of the teaching points: ##EQU3##
The aforementioned interpolation curve must be found on the basis of the reference point P.sub.i obtained by solving the simultaneous equations. Hosaka's interpolation requires such a procedure, i.e., inverse transformation, whereby calculation steps are increased.
Further, the parameter in Hosaka's interpolation is a space parameter introduced for the purpose of parameter-indication of a respective one of the curved line segments, and hence its correspondence to the actual time is not clear. Therefore, an additional step of determining a functional form indicative of correspondence between the parameter u and the time for respective one of the curved line segments is required.
Further, when an interpolation curve in an n-th stage, for a considerably large value of n, is employed in order to smooth the interpolation curve, in a case where teaching is made with respect to a locus whose geometric property is abruptly changed, e.g., from a circle to a straight line, the position command value for the robot cannot follow such a change due to remaining memory of the locus in the time zone ahead of the time of changing. With respect to this problem, a means for performing Hosaka's interpolation may be invalidated in a position where the locus is greatly changed in a geometric manner, as described in, e.g., Japanese patent laying-open gazette No. 125406/1982. However, if there is obtained an interpolation method which can follow such a change while securing sufficient smoothness, the aforementioned invalidation may not be frequently employed, or no such invalidation is required according to the circumstances.
Further, there is a problem in starting/stopping. When a conventional robot control method is to control a robot having a high inertial load such as a large size robot and a composite robot, servo gains for respective control shafts are largely set in order to secure highly accurate positioning. However, impact to the robot is increased in starting and stopping. When the respective control shafts are made sufficiently rigid against the impact to cope with the problem, the respective components are inevitably increased in weight, leading to further increase of the servo gains. After all, it is difficult to ease the impact. Thus, awaited is provision of interpolation control which can ease impact in starting/stopping.